1. Field of the Invention
The present invention relates to the process of configuring Internet Protocol version 4 (IPv4) addresses on a network node. More specifically, the present invention relates to a method and an apparatus for providing link-local IPv4 addressing across multiple interfaces of a network node.
2. Related Art
The ever-increasing popularity of mobile computing and the proliferation of intelligent devices are necessitating network nodes, such as computers and printers, to support a plethora of interfaces. Moreover, network nodes are being enabled to support Internet Protocol version 4 (IPv4) over these various interfaces. For example, computers have recently started supporting IPv4-over-Universal Serial Bus (USB) and IPv4-over-Firewire. These and other developments have created a strong demand for mechanisms to facilitate automatic configuration of network nodes in an IPv4 network, thereby drastically simplifying the process of configuring network nodes.
In order to participate in an IPv4 network, a network node, such as a computer or a printer, needs to be configured with IPv4 addresses for one or more of its interfaces. Additionally, in order to enable communication, the network node needs the ability to translate an IPv4 address into the corresponding hardware address. The Address Resolution Protocol (ARP) is a link-level protocol that solves the translation problem by providing an address-resolution mechanism that can be used to find the hardware address for a given IPv4 address, thereby enabling a network node to participate in an IPv4 network.
IPv4 addresses can be configured either manually by the user, or automatically by the help of another network node, such as a DHCP server. Unfortunately, a DHCP server may not always be available. Moreover, it is cumbersome to have the user configure an IPv4 address. Therefore, there is a strong need for a mechanism by which a network node can automatically configure an IPv4 address on its own.
Link-local IPv4 addressing provides such a mechanism. In link-local IPv4 addressing, a network node picks a random IPv4 address in a specified link-local address range and checks for its uniqueness within the scope of the link. If the address is already in use by another network node, then it picks another address and tries again. Once it finds a unique link-local IPv4 address, it uses it to communicate with other nodes in the network.
Unfortunately, since link-local addresses are only guaranteed to be unique within the scope of a link, a source network-node typically configures only one interface out of all of its interfaces for link-local addressing, because otherwise, two target network-nodes that are connected on different interfaces of the source network-node may choose the same IPv4 address, thereby creating an address ambiguity. This is a severe limitation in today's networks, because while the number of interfaces in a network node continues to increase, the user is being forced to use link-local addressing on only one of the interfaces, thereby preventing the user from leveraging link-local IPv4 addressing to simplify network-node configuration.
Hence, what is needed is a method and an apparatus that can provide link-local IPv4 addressing across multiple interfaces of a network node.